Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

135
Vistas
Adding "and" between last two database results in foreach loop

I want to add the word "and" between the last two MySQL results. I can add commas but I need to add commas between the first ones and then "and" between the last two.

Here is the code I'm using:

        $not_first = false;

        foreach($solos as $solo)
        {
            if ($not_first)
            {
                echo ', ';
            }
            $not_first = true;

            echo $solo->id;
        }

I could echo 'and' instead of the comma. But if I have 3 or more results it would say "result and result and result and result". I want it to say "result, result, result, and result".

Any ideas?

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Try to use next idea

if (count($solos) > 2) {
    $last = array_pop($solos);
    echo implode(', ', $solos) . ' and ' . $last;
}
else
{
    echo implode(' and ', $solos);
}
about 4 years ago · Santiago Trujillo Denunciar

0

I'd prefer using for instead of foreach in this case:

for($i=0; $i<count($solos); $i++){
    echo $solos[$i]->id;

    if($i == count($solos) - 2){        // --> second last element, implies "and" 
        echo " and ";
    }
    else{
        if($i != count($solos) - 1){    // --> "," for all other elements, except last
            echo ", ";
        }    
    }
}
about 4 years ago · Santiago Trujillo Denunciar

0

Or use this:

   $i = 1;
   $last = count($solos);
    foreach($solos as $solo)
    {
        if ($i > 1 && $i != $last)
        {
            echo ', ';
        }
        elseif ( $i == $last )
        {
            echo ' and ';
        }

        echo $solo->id;
        $i++;
    }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda